package com.itheima.health.util;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;

/**
 * 短信发送工具类
 */
public class SMSUtils {

	public static void main(String args[]){
		String code = ValidateCodeUtils.generateValidateCode(6)+"";
		SMSUtils.sendMessage(
				"传智健康项目基手机号登录",
				"SMS_175532136",
				"15517689670",code
		);
	}

	/**
	 * 发送短信
	 * @param signName 签名
	 * @param templateCode 模板
	 * @param phoneNumbers 手机号
	 * @param param 参数
	 */
	public static void sendMessage(String signName,
								   String templateCode,
								   String phoneNumbers,
								   String param){
		DefaultProfile profile = DefaultProfile
			.getProfile("cn-hangzhou",
				"LTAI5tRkDciaHRQS2dTAA2nz",
				"ap6yE7QuV3kIJ3aB1fB3fpByFNlk2v");
		IAcsClient client = new DefaultAcsClient(profile);

		SendSmsRequest request = new SendSmsRequest();
		request.setSysRegionId("cn-hangzhou");
		request.setPhoneNumbers(phoneNumbers);
		request.setSignName(signName);
		request.setTemplateCode(templateCode);
		request.setTemplateParam("{\"code\":\""+param+"\"}");
		try {
			SendSmsResponse response = client.getAcsResponse(request);
			System.out.println(response.getMessage());
			if(response.getMessage().contains("OK")){
				System.out.println("短信发送成功");
			}
		}catch (ClientException e) {
			e.printStackTrace();
		}
	}

}
